ci: Add a build with asan
authorMatthias Clasen <mclasen@redhat.com>
Thu, 9 Jul 2020 02:22:31 +0000 (22:22 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 9 Jul 2020 23:43:06 +0000 (19:43 -0400)
Run our testsuite under asan. We do this in a
separate build, since we need to turn off
introspection to make the build succeed.

As Michael Catanzaro pointed out, this requires a
privileged runner in order to use kernel apis.

.gitlab-ci.yml
.gitlab-ci/.lock [new file with mode: 0644]

index 469c68405e99896abf9bc61e516f3d1aeb4290d9..3558e9f6ef2603a43cec089ded99f48597c86bd2 100644 (file)
@@ -180,6 +180,22 @@ static-scan:
       - _scan_build/meson-logs
   allow_failure: true
 
+# Run tests with the address sanitizer. We need to turn off introspection,
+# since it is incompatible with asan
+asan-build:
+  image: $FEDORA_IMAGE
+  tags: [ privileged ]
+  stage: analysis
+  variables:
+  script:
+    - CC=clang meson --buildtype=debugoptimized -Db_sanitize=address -Db_lundef=false -Dintrospection=false _build
+    - ninja -C _build
+    - .gitlab-ci/run-tests.sh _build wayland
+  artifacts:
+    paths:
+      - _build/meson-logs
+  allow_failure: true
+
 reference:
   image: $DOCS_IMAGE
   stage: docs
diff --git a/.gitlab-ci/.lock b/.gitlab-ci/.lock
new file mode 100644 (file)
index 0000000..e69de29